/**
 * Generate time : 2011-06-01 2:01:08
 * Version : 1.0.1.V20070717
 */
package com.baosight.sczx.zm.cs.domain;

import com.baosight.iplat4j.util.NumberUtils;
import com.baosight.iplat4j.core.ei.EiColumn;
import com.baosight.iplat4j.ep.DaoEPBase;
import java.util.HashMap;
import java.util.Map;
import com.baosight.iplat4j.util.StringUtils;

/**
 * ZMCSMine table comment : 矿井信息
 */
public class ZMCSMine extends DaoEPBase {

	private String fdKeyId = " "; /* FD_KEY_ID */
	private String fdDepartmentId = " "; /* 对应机构ID */
	private String fdNo = " "; /* 矿井编号 */
	private String fdName = " "; /* 矿井名称 */
	private String fdStatus = " "; /* 矿井状态 */
	private Double fdReserves = new Double(0); /* 设计储量 */
	private Double fdAbility = new Double(0); /* 核定能力 */
	private String fdBeginDate = " "; /* 开工日期 */
	private String fdAddress = " "; /* 矿井位置 */
	private String fdStartingDate = " "; /* 实际投产日期 */
	private Long fdStartingYear = new Long(0); /* 设计投产年份 */
	private Long fdStartingMonth = new Long(0); /* 设计投产月份 */
	private String fdDevelopType = " "; /* 主要开拓方式 */
	private String fdCoalMining = " "; /* 主要采煤方法 */
	private Double fdGeologicalReserves = new Double(0); /* 地址储量 */
	private Double fdUsingReserves = new Double(0); /* 保有可采储量 */
	private Double fdMineLegnth = new Double(0); /* 井田走向长 */
	private Double fdTiltLength = new Double(0); /* 井田倾斜长 */
	private Double fdMineArea = new Double(0); /* 井田范围面积 */
	private String fdRemarks = " "; /* 备注 */

	/**
	 * initialize the metadata
	 */
	public void initMetaData() {
		EiColumn eiColumn;

		eiColumn = new EiColumn("fdKeyId");
		eiColumn.setPrimaryKey(true);
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("FD_KEY_ID");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdDepartmentId");
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("对应机构ID");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdNo");
		eiColumn.setFieldLength(10);
		eiColumn.setDescName("矿井编号");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdName");
		eiColumn.setFieldLength(30);
		eiColumn.setDescName("矿井名称");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdStatus");
		eiColumn.setFieldLength(4);
		eiColumn.setDescName("矿井状态");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdReserves");
		eiColumn.setType("N");
		eiColumn.setScaleLength(4);
		eiColumn.setFieldLength(12);
		eiColumn.setDescName("设计储量");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdAbility");
		eiColumn.setType("N");
		eiColumn.setScaleLength(4);
		eiColumn.setFieldLength(12);
		eiColumn.setDescName("核定能力");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdBeginDate");
		eiColumn.setFieldLength(14);
		eiColumn.setDescName("开工日期");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdAddress");
		eiColumn.setFieldLength(100);
		eiColumn.setDescName("矿井位置");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdStartingDate");
		eiColumn.setFieldLength(14);
		eiColumn.setDescName("实际投产日期");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdStartingYear");
		eiColumn.setType("N");
		eiColumn.setScaleLength(0);
		eiColumn.setFieldLength(38);
		eiColumn.setDescName("设计投产年份");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdStartingMonth");
		eiColumn.setType("N");
		eiColumn.setScaleLength(0);
		eiColumn.setFieldLength(38);
		eiColumn.setDescName("设计投产月份");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdDevelopType");
		eiColumn.setFieldLength(50);
		eiColumn.setDescName("主要开拓方式");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdCoalMining");
		eiColumn.setFieldLength(50);
		eiColumn.setDescName("主要采煤方法");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdGeologicalReserves");
		eiColumn.setType("N");
		eiColumn.setScaleLength(4);
		eiColumn.setFieldLength(12);
		eiColumn.setDescName("地址储量");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdUsingReserves");
		eiColumn.setType("N");
		eiColumn.setScaleLength(4);
		eiColumn.setFieldLength(12);
		eiColumn.setDescName("保有可采储量");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdMineLegnth");
		eiColumn.setType("N");
		eiColumn.setScaleLength(4);
		eiColumn.setFieldLength(12);
		eiColumn.setDescName("井田走向长");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdTiltLength");
		eiColumn.setType("N");
		eiColumn.setScaleLength(4);
		eiColumn.setFieldLength(12);
		eiColumn.setDescName("井田倾斜长");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdMineArea");
		eiColumn.setType("N");
		eiColumn.setScaleLength(4);
		eiColumn.setFieldLength(12);
		eiColumn.setDescName("井田范围面积");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdRemarks");
		eiColumn.setFieldLength(500);
		eiColumn.setDescName("备注");
		eiMetadata.addMeta(eiColumn);

	}

	/**
	 * the constructor
	 */
	public ZMCSMine() {
		initMetaData();
	}

	/**
	 * get the fdKeyId - FD_KEY_ID
	 * 
	 * @return the fdKeyId
	 */
	public String getFdKeyId() {
		return this.fdKeyId;
	}

	/**
	 * set the fdKeyId - FD_KEY_ID
	 */
	public void setFdKeyId(String fdKeyId) {
		this.fdKeyId = fdKeyId;
	}

	/**
	 * get the fdDepartmentId - 对应机构ID
	 * 
	 * @return the fdDepartmentId
	 */
	public String getFdDepartmentId() {
		return this.fdDepartmentId;
	}

	/**
	 * set the fdDepartmentId - 对应机构ID
	 */
	public void setFdDepartmentId(String fdDepartmentId) {
		this.fdDepartmentId = fdDepartmentId;
	}

	/**
	 * get the fdNo - 矿井编号
	 * 
	 * @return the fdNo
	 */
	public String getFdNo() {
		return this.fdNo;
	}

	/**
	 * set the fdNo - 矿井编号
	 */
	public void setFdNo(String fdNo) {
		this.fdNo = fdNo;
	}

	/**
	 * get the fdName - 矿井名称
	 * 
	 * @return the fdName
	 */
	public String getFdName() {
		return this.fdName;
	}

	/**
	 * set the fdName - 矿井名称
	 */
	public void setFdName(String fdName) {
		this.fdName = fdName;
	}

	/**
	 * get the fdStatus - 矿井状态
	 * 
	 * @return the fdStatus
	 */
	public String getFdStatus() {
		return this.fdStatus;
	}

	/**
	 * set the fdStatus - 矿井状态
	 */
	public void setFdStatus(String fdStatus) {
		this.fdStatus = fdStatus;
	}

	/**
	 * get the fdReserves - 设计储量
	 * 
	 * @return the fdReserves
	 */
	public Double getFdReserves() {
		return this.fdReserves;
	}

	/**
	 * set the fdReserves - 设计储量
	 */
	public void setFdReserves(Double fdReserves) {
		this.fdReserves = fdReserves;
	}

	/**
	 * get the fdAbility - 核定能力
	 * 
	 * @return the fdAbility
	 */
	public Double getFdAbility() {
		return this.fdAbility;
	}

	/**
	 * set the fdAbility - 核定能力
	 */
	public void setFdAbility(Double fdAbility) {
		this.fdAbility = fdAbility;
	}

	/**
	 * get the fdBeginDate - 开工日期
	 * 
	 * @return the fdBeginDate
	 */
	public String getFdBeginDate() {
		return this.fdBeginDate;
	}

	/**
	 * set the fdBeginDate - 开工日期
	 */
	public void setFdBeginDate(String fdBeginDate) {
		this.fdBeginDate = fdBeginDate;
	}

	/**
	 * get the fdAddress - 矿井位置
	 * 
	 * @return the fdAddress
	 */
	public String getFdAddress() {
		return this.fdAddress;
	}

	/**
	 * set the fdAddress - 矿井位置
	 */
	public void setFdAddress(String fdAddress) {
		this.fdAddress = fdAddress;
	}

	/**
	 * get the fdStartingDate - 实际投产日期
	 * 
	 * @return the fdStartingDate
	 */
	public String getFdStartingDate() {
		return this.fdStartingDate;
	}

	/**
	 * set the fdStartingDate - 实际投产日期
	 */
	public void setFdStartingDate(String fdStartingDate) {
		this.fdStartingDate = fdStartingDate;
	}

	/**
	 * get the fdStartingYear - 设计投产年份
	 * 
	 * @return the fdStartingYear
	 */
	public Long getFdStartingYear() {
		return this.fdStartingYear;
	}

	/**
	 * set the fdStartingYear - 设计投产年份
	 */
	public void setFdStartingYear(Long fdStartingYear) {
		this.fdStartingYear = fdStartingYear;
	}

	/**
	 * get the fdStartingMonth - 设计投产月份
	 * 
	 * @return the fdStartingMonth
	 */
	public Long getFdStartingMonth() {
		return this.fdStartingMonth;
	}

	/**
	 * set the fdStartingMonth - 设计投产月份
	 */
	public void setFdStartingMonth(Long fdStartingMonth) {
		this.fdStartingMonth = fdStartingMonth;
	}

	/**
	 * get the fdDevelopType - 主要开拓方式
	 * 
	 * @return the fdDevelopType
	 */
	public String getFdDevelopType() {
		return this.fdDevelopType;
	}

	/**
	 * set the fdDevelopType - 主要开拓方式
	 */
	public void setFdDevelopType(String fdDevelopType) {
		this.fdDevelopType = fdDevelopType;
	}

	/**
	 * get the fdCoalMining - 主要采煤方法
	 * 
	 * @return the fdCoalMining
	 */
	public String getFdCoalMining() {
		return this.fdCoalMining;
	}

	/**
	 * set the fdCoalMining - 主要采煤方法
	 */
	public void setFdCoalMining(String fdCoalMining) {
		this.fdCoalMining = fdCoalMining;
	}

	/**
	 * get the fdGeologicalReserves - 地址储量
	 * 
	 * @return the fdGeologicalReserves
	 */
	public Double getFdGeologicalReserves() {
		return this.fdGeologicalReserves;
	}

	/**
	 * set the fdGeologicalReserves - 地址储量
	 */
	public void setFdGeologicalReserves(Double fdGeologicalReserves) {
		this.fdGeologicalReserves = fdGeologicalReserves;
	}

	/**
	 * get the fdUsingReserves - 保有可采储量
	 * 
	 * @return the fdUsingReserves
	 */
	public Double getFdUsingReserves() {
		return this.fdUsingReserves;
	}

	/**
	 * set the fdUsingReserves - 保有可采储量
	 */
	public void setFdUsingReserves(Double fdUsingReserves) {
		this.fdUsingReserves = fdUsingReserves;
	}

	/**
	 * get the fdMineLegnth - 井田走向长
	 * 
	 * @return the fdMineLegnth
	 */
	public Double getFdMineLegnth() {
		return this.fdMineLegnth;
	}

	/**
	 * set the fdMineLegnth - 井田走向长
	 */
	public void setFdMineLegnth(Double fdMineLegnth) {
		this.fdMineLegnth = fdMineLegnth;
	}

	/**
	 * get the fdTiltLength - 井田倾斜长
	 * 
	 * @return the fdTiltLength
	 */
	public Double getFdTiltLength() {
		return this.fdTiltLength;
	}

	/**
	 * set the fdTiltLength - 井田倾斜长
	 */
	public void setFdTiltLength(Double fdTiltLength) {
		this.fdTiltLength = fdTiltLength;
	}

	/**
	 * get the fdMineArea - 井田范围面积
	 * 
	 * @return the fdMineArea
	 */
	public Double getFdMineArea() {
		return this.fdMineArea;
	}

	/**
	 * set the fdMineArea - 井田范围面积
	 */
	public void setFdMineArea(Double fdMineArea) {
		this.fdMineArea = fdMineArea;
	}

	/**
	 * get the fdRemarks - 备注
	 * 
	 * @return the fdRemarks
	 */
	public String getFdRemarks() {
		return this.fdRemarks;
	}

	/**
	 * set the fdRemarks - 备注
	 */
	public void setFdRemarks(String fdRemarks) {
		this.fdRemarks = fdRemarks;
	}

	/**
	 * get the value from Map
	 */
	@SuppressWarnings("rawtypes")
	public void fromMap(Map map) {

		setFdKeyId(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdKeyId")), fdKeyId));
		setFdDepartmentId(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdDepartmentId")), fdDepartmentId));
		setFdNo(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdNo")), fdNo));
		setFdName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdName")), fdName));
		setFdStatus(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdStatus")), fdStatus));
		setFdReserves(NumberUtils.toDouble(StringUtils.toString(map.get("fdReserves")), fdReserves));
		setFdAbility(NumberUtils.toDouble(StringUtils.toString(map.get("fdAbility")), fdAbility));
		setFdBeginDate(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdBeginDate")), fdBeginDate));
		setFdAddress(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdAddress")), fdAddress));
		setFdStartingDate(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdStartingDate")), fdStartingDate));
		setFdStartingYear(NumberUtils.toLong(StringUtils.toString(map.get("fdStartingYear")), fdStartingYear));
		setFdStartingMonth(NumberUtils.toLong(StringUtils.toString(map.get("fdStartingMonth")), fdStartingMonth));
		setFdDevelopType(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdDevelopType")), fdDevelopType));
		setFdCoalMining(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdCoalMining")), fdCoalMining));
		setFdGeologicalReserves(NumberUtils.toDouble(StringUtils.toString(map.get("fdGeologicalReserves")), fdGeologicalReserves));
		setFdUsingReserves(NumberUtils.toDouble(StringUtils.toString(map.get("fdUsingReserves")), fdUsingReserves));
		setFdMineLegnth(NumberUtils.toDouble(StringUtils.toString(map.get("fdMineLegnth")), fdMineLegnth));
		setFdTiltLength(NumberUtils.toDouble(StringUtils.toString(map.get("fdTiltLength")), fdTiltLength));
		setFdMineArea(NumberUtils.toDouble(StringUtils.toString(map.get("fdMineArea")), fdMineArea));
		setFdRemarks(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdRemarks")), fdRemarks));
	}

	/**
	 * set the value to Map
	 */
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public Map toMap() {

		Map map = new HashMap();
		map.put("fdKeyId", StringUtils.toString(fdKeyId, eiMetadata.getMeta("fdKeyId")));
		map.put("fdDepartmentId", StringUtils.toString(fdDepartmentId, eiMetadata.getMeta("fdDepartmentId")));
		map.put("fdNo", StringUtils.toString(fdNo, eiMetadata.getMeta("fdNo")));
		map.put("fdName", StringUtils.toString(fdName, eiMetadata.getMeta("fdName")));
		map.put("fdStatus", StringUtils.toString(fdStatus, eiMetadata.getMeta("fdStatus")));
		map.put("fdReserves", StringUtils.toString(fdReserves, eiMetadata.getMeta("fdReserves")));
		map.put("fdAbility", StringUtils.toString(fdAbility, eiMetadata.getMeta("fdAbility")));
		map.put("fdBeginDate", StringUtils.toString(fdBeginDate, eiMetadata.getMeta("fdBeginDate")));
		map.put("fdAddress", StringUtils.toString(fdAddress, eiMetadata.getMeta("fdAddress")));
		map.put("fdStartingDate", StringUtils.toString(fdStartingDate, eiMetadata.getMeta("fdStartingDate")));
		map.put("fdStartingYear", StringUtils.toString(fdStartingYear, eiMetadata.getMeta("fdStartingYear")));
		map.put("fdStartingMonth", StringUtils.toString(fdStartingMonth, eiMetadata.getMeta("fdStartingMonth")));
		map.put("fdDevelopType", StringUtils.toString(fdDevelopType, eiMetadata.getMeta("fdDevelopType")));
		map.put("fdCoalMining", StringUtils.toString(fdCoalMining, eiMetadata.getMeta("fdCoalMining")));
		map.put("fdGeologicalReserves", StringUtils.toString(fdGeologicalReserves, eiMetadata.getMeta("fdGeologicalReserves")));
		map.put("fdUsingReserves", StringUtils.toString(fdUsingReserves, eiMetadata.getMeta("fdUsingReserves")));
		map.put("fdMineLegnth", StringUtils.toString(fdMineLegnth, eiMetadata.getMeta("fdMineLegnth")));
		map.put("fdTiltLength", StringUtils.toString(fdTiltLength, eiMetadata.getMeta("fdTiltLength")));
		map.put("fdMineArea", StringUtils.toString(fdMineArea, eiMetadata.getMeta("fdMineArea")));
		map.put("fdRemarks", StringUtils.toString(fdRemarks, eiMetadata.getMeta("fdRemarks")));

		return map;

	}
}